* lisp/emacs-lisp/smie.el: New smie-config system.
authorStefan Monnier <monnier@iro.umontreal.ca>
Thu, 24 Oct 2013 21:16:20 +0000 (17:16 -0400)
committerStefan Monnier <monnier@iro.umontreal.ca>
Thu, 24 Oct 2013 21:16:20 +0000 (17:16 -0400)
commitb9712d3c63a8fa4b73280e175dfd86c97f0b426f
tree77bc24a46a241475294a84031f54d8cbd190624b
parent9bcee7fd43b8a30776f5d83921b186fafb35ad51
* lisp/emacs-lisp/smie.el: New smie-config system.
(smie-config): New defcustom.
(smie-edebug, smie-config-show-indent, smie-config-set-indent)
(smie-config-guess, smie-config-save): New commands.
(smie-config--mode-local, smie-config--buffer-local)
(smie-config--trace, smie-config--modefuns): New vars.
(smie-config--advice, smie-config--mode-hook)
(smie-config--setter, smie-config-local, smie-config--get-trace)
(smie-config--guess-value, smie-config--guess): New functions.
(smie-indent-forward-token, smie-indent-backward-token): Don't copy
text properties.  Treat "string fence" syntax like string syntax.

* lisp/progmodes/sh-script.el (sh-use-smie): Change default.
(sh-smie-sh-rules, sh-smie-rc-rules): Obey legacy sh-indent-* vars.
(sh-var-value): Simplify by CSE.
(sh-show-indent, sh-set-indent, sh-learn-line-indent)
(sh-learn-buffer-indent): Redirect to their SMIE equivalent when SMIE
is used.
(sh-guess-basic-offset): Use cl-incf.
(sh-guess-basic-offset): Use push+nreverse to avoid O(n^2).
etc/NEWS
lisp/ChangeLog
lisp/emacs-lisp/smie.el
lisp/progmodes/sh-script.el